perm filename LLL[901,BGB] blob sn#129611 filedate 1974-11-12 generic text, type T, neo UTF8

(DEFPROP ALLFNS 
(NIL UIF
     %%%L
     INTGRL
     NRT
     SUMAT
     PAREN
     BRAKET
     BRACE
     ABS
     FEQU
     FGR
     FGE
     FLS
     FLE
     FNEQ
     DIVIDE
     TEXT
     TITLE
     MTRX
     SS
     INFIX
     PLUS
     DIFFERENCE
     MINUS
     QUOTIENT
     TIMES
     COMMA
     RECIP
     DIV
     GRAD
     CURL
     DRVTV
     PDRVTV
     PP1FNS
     P1FNS
     DP0P
     PASSP
     PASS3
     PASS3A
     PASS3B
     PASS3C
     PRINK
     PASS2
     U
     D
     S
     L
     SYORG
     MAXM
     PASS1
     TWICE
     CAD5R
     CAD4R
     K1D4
     HALF
     K2D3
     K3D4
     SCAL2
     SCALE
     PASS
     OFF) 
VALUE)

(DEFPROP UIF 
(LAMBDA(Z)
 (LIST (QUOTE INFIX)
       NIL
       (CAR Z)
       (COND ((NULL (CDR Z)) NIL)
             (T
              (PASS1 (LIST (QUOTE PAREN) (COND ((NULL (CDDR Z)) (CDR Z)) (T (APPEND (QUOTE COMMA) (CDR Z)))))
                     0))))) 
EXPR)

(DEFPROP %%%L 
(NIL UI DI LI SI P0P P1P FEXPR EXPR VALUE MACRO SPECIAL) 
VALUE)

(DEFPROP INTGRL 
(LAMBDA(Z SIZ)
 (MAXM
  (LIST (PLUS (U (CADDDR Z) SIZ) (U (CADDR Z) (K2D3 SIZ))) (PLUS (D (CADDDR Z) SIZ) (D (CADR Z) (K2D3 SIZ)))))) 
UI)

(DEFPROP INTGRL 
(LAMBDA (Z SIZ) (U Z SIZ)) 
DI)

(DEFPROP INTGRL 
(LAMBDA(Z SIZ)
 (PLUS (HALF (U Z SIZ))
       (MAXM (LIST (L (CADR Z) (K2D3 SIZ)) (PLUS (L (CADR Z) (K2D3 SIZ)) (HALF (U Z SIZ)))))
       (TIMES 12 SIZ)
       (L (CADDDR Z) SIZ)
       (L (CAR (CDDDDR Z)) SIZ))) 
LI)

(DEFPROP INTGRL 
(LAMBDA(Z SIZ)
 (LIST (QUOTE VECT)
       (SCAL2 (QUOTIENT (U Z SIZ) 20)
              (QUOTE ((0 0 -15) (1 2 -3) (1 2 0) (1 2 3) (1 2 32) (1 2 3) (1 2 0) (1 2 -3) (0 0 -1))))
       (CONS (LIST 0 0 0 (K2D3 SIZ)) (S (CADDR Z) (K2D3 SIZ)))
       (CONS (LIST 0
                   (MINUS (PLUS (L (CADDR Z) (K2D3 SIZ)) (HALF (U Z SIZ))))
                   (MINUS (TIMES 3 (HALF (U Z SIZ))))
                   (K2D3 SIZ))
             (S (CADR Z) (K2D3 SIZ)))
       (CONS (LIST 0 SIZ (K3D4 (U Z SIZ)) SIZ) (S (CADDDR Z) SIZ))
       (LIST (LIST 0 SIZ 0 SIZ) (S (ASCII 144) SIZ) (S (CAR (CDDDDR Z)) SIZ)))) 
SI)

(DEFPROP INTGRL 
0 
P0P)

(DEFPROP INTGRL 
(LAMBDA(Z N)
 (LIST (QUOTE INTGRL)
       (COND ((NULL Z) NIL) (T (PASS1 (CAR Z) N)))
       (COND ((NULL (CDR Z)) NIL) (T (PASS1 (CADR Z) N)))
       (COND ((NULL (CDDR Z)) NIL) (T (PASS1 (CADDR Z) N)))
       (COND ((NULL (CDDDR Z)) NIL) (T (PASS1 (CADDDR Z) N))))) 
P1P)

(DEFPROP INTGRL 
(LAMBDA(Z SIZ)
 (LIST (SCAL2 (QUOTIENT (U Z SIZ) 20)
              (QUOTE ((0 0 -15) (1 2 -3) (1 2 0) (1 2 3) (1 2 32) (1 2 3) (1 2 0) (1 2 -3) (0 0 -1))))
       (CONS (LIST 0 0 0 (K2D3 SIZ)) (S (CADDR Z) (K2D3 SIZ)))
       (CONS (LIST 0
                   (MINUS (PLUS (L (CADDR Z) (K2D3 SIZ)) (HALF (U Z SIZ))))
                   (MINUS (TIMES 3 (HALF (U Z SIZ))))
                   (K2D3 SIZ))
             (S (CADR Z) (K2D3 SIZ)))
       (CONS (LIST 0 SIZ (HALF (TIMES 3 (U Z SIZ))) SIZ) (S (CADDDR Z) SIZ))
       (LIST (LIST 0 SIZ 0 SIZ) (QUOTE D) (S (CAR (CDDDDR Z)) SIZ)))) 
VALUE)

(DEFPROP NRT 
(LAMBDA (Z SIZ) (U (CADDR Z) SIZ)) 
UI)

(DEFPROP NRT 
(LAMBDA (Z SIZ) (D (CADDR Z) SIZ)) 
DI)

(DEFPROP NRT 
(LAMBDA (Z SIZ) (PLUS (L (CADDR Z) SIZ) (TIMES 7 SIZ))) 
LI)

(DEFPROP NRT 
(LAMBDA(Z SIZ)
 (LIST (QUOTE VECT)
       (LIST (LIST 1 (TIMES 3 SIZ) 0)
             (LIST 1 (TWICE SIZ) (MINUS (D (CADDR Z) SIZ)))
             (LIST 1 (TWICE SIZ) (PLUS (D (CADDR Z) SIZ) (U (CADDR Z) SIZ)))
             (LIST 1 (L (CADDR Z) SIZ) 0)
             (LIST 0 (MINUS (PLUS (L (CADDR Z) SIZ) (TIMES 7 SIZ))) (MINUS (U (CADDR Z) SIZ))))
       (COND ((NULL (CADR Z)) NIL)
             (T
              (CONS (LIST (L (CADR Z) (HALF SIZ)) 0 (HALF (U (CADDR Z) SIZ)) (HALF SIZ))
                    (S (CADR Z) (HALF SIZ)))))
       (CONS (LIST 0 (TIMES 7 SIZ) 0 SIZ) (S (CADDR Z) SIZ)))) 
SI)

(DEFPROP NRT 
0 
P0P)

(DEFPROP NRT 
(LAMBDA (Z SIZ) (LIST (QUOTE NRT) (PASS1 (CAR Z) 0) (PASS1 (CADR Z) 0))) 
P1P)

(DEFPROP SUMAT 
0 
P0P)

(DEFPROP PAREN 
0 
P0P)

(DEFPROP BRAKET 
0 
P0P)

(DEFPROP BRACE 
0 
P0P)

(DEFPROP ABS 
0 
P0P)

(DEFPROP FEQU 
0 
P0P)

(DEFPROP FEQU 
(LAMBDA(Z N)
 (LIST (QUOTE INFIX)
       (QUOTE / =/ )
       (COND ((NULL Z) NIL) (T (PASS1 (CAR Z) N)))
       (COND ((NULL (CDR Z)) NIL) (T (PASS1 (CADR Z) N))))) 
P1P)

(DEFPROP FGR 
0 
P0P)

(DEFPROP FGR 
(LAMBDA(Z N)
 (LIST (QUOTE INFIX)
       (QUOTE >)
       (COND ((NULL Z) NIL) (T (PASS1 (CAR Z) N)))
       (COND ((NULL (CDR Z)) NIL) (T (PASS1 (CADR Z) N))))) 
P1P)

(DEFPROP FGE 
0 
P0P)

(DEFPROP FGE 
(LAMBDA(Z N)
 (LIST (QUOTE INFIX)
       (QUOTE /≥)
       (COND ((NULL Z) NIL) (T (PASS1 (CAR Z) N)))
       (COND ((NULL (CDR Z)) NIL) (T (PASS1 (CADR Z) N))))) 
P1P)

(DEFPROP FLS 
0 
P0P)

(DEFPROP FLS 
(LAMBDA(Z N)
 (LIST (QUOTE INFIX)
       (QUOTE <)
       (COND ((NULL Z) NIL) (T (PASS1 (CAR Z) N)))
       (COND ((NULL (CDR Z)) NIL) (T (PASS1 (CADR Z) N))))) 
P1P)

(DEFPROP FLE 
0 
P0P)

(DEFPROP FLE 
(LAMBDA(Z N)
 (LIST (QUOTE INFIX)
       (QUOTE /≤)
       (COND ((NULL Z) NIL) (T (PASS1 (CAR Z) N)))
       (COND ((NULL (CDR Z)) NIL) (T (PASS1 (CADR Z) N))))) 
P1P)

(DEFPROP FNEQ 
0 
P0P)

(DEFPROP FNEQ 
(LAMBDA(Z N)
 (LIST (QUOTE INFIX)
       (ASCII 33)
       (COND ((NULL Z) NIL) (T (PASS1 (CAR Z) N)))
       (COND ((NULL (CDR Z)) NIL) (T (PASS1 (CADR Z) N))))) 
P1P)

(DEFPROP DIVIDE 
(LAMBDA (Z SIZ) (PLUS (U (CADR Z) SIZ) SIZ (D (CADR Z) SIZ))) 
UI)

(DEFPROP DIVIDE 
(LAMBDA (Z SIZ) (PLUS (U (CADDR Z) SIZ) SIZ (D (CADDR Z) SIZ))) 
DI)

(DEFPROP DIVIDE 
(LAMBDA (Z SIZ) (MAXM (LIST (L (CADR Z) SIZ) (L (CADDR Z) SIZ)))) 
LI)

(DEFPROP DIVIDE 
(LAMBDA(Z SIZ)
 (LIST (CONS (LIST (L (CADR Z) SIZ) (HALF (DIFFERENCE (L Z SIZ) (L (CADR Z) SIZ))) (D (CADR Z) SIZ) SIZ)
             (S (CADR Z) SIZ))
       (QUOTE VECT)
       (LIST (LIST 0 0 (MINUS SIZ)) (LIST 1 (L Z SIZ) 0) (LIST 0 (MINUS (L Z SIZ)) 0) (LIST 0 0 (MINUS SIZ)))
       (CONS (LIST (L (CADDR Z) SIZ)
                   (HALF (DIFFERENCE (L Z SIZ) (L (CADDR Z) SIZ)))
                   (MINUS (U (CADDR Z) SIZ))
                   SIZ)
             (S (CADDR Z) SIZ))
       (QUOTE VECT)
       (LIST (LIST 0 (L Z SIZ) 0)))) 
SI)

(DEFPROP DIVIDE 
0 
P0P)

(DEFPROP DIVIDE 
(LAMBDA (Z SIZ) (LIST (QUOTE DIVIDE) (PASS1 (CAR Z) 0) (PASS1 (CADR Z) 0))) 
P1P)

(DEFPROP TEXT 
0 
P0P)

(DEFPROP TITLE 
0 
P0P)

(DEFPROP MTRX 
0 
P0P)

(DEFPROP SS 
0 
P0P)

(DEFPROP INFIX 
(LAMBDA (Z SIZ) (MAXM (LIST (U (CADR Z) SIZ) (U (CADDR Z) SIZ) (U (CADDDR Z) SIZ)))) 
UI)

(DEFPROP INFIX 
(LAMBDA (Z SIZ) (MAXM (LIST (D (CADR Z) SIZ) (D (CADDR Z) SIZ) (D (CADDDR Z) SIZ)))) 
DI)

(DEFPROP INFIX 
(LAMBDA (Z SIZ) (PLUS (L (CADR Z) SIZ) (L (CADDR Z) SIZ) (L (CADDDR Z) SIZ))) 
LI)

(DEFPROP INFIX 
(LAMBDA (Z SIZ) (LIST (S (CADDR Z) SIZ) (S (CADR Z) SIZ) (S (CADDDR Z) SIZ))) 
SI)

(DEFPROP INFIX 
0 
P0P)

(DEFPROP INFIX 
(LAMBDA (Z N) (LIST (QUOTE INFIX) (PASS1 (CAR Z) N) (PASS1 (CADR Z) N) (PASS1 (CADDR Z) N))) 
P1P)

(DEFPROP PLUS 
1 
P0P)

(DEFPROP PLUS 
(LABEL SELF
       (LAMBDA(Z N)
        (LIST (QUOTE INFIX)
              (ASCII 53)
              (COND ((NULL (CAR Z)) NIL) (T (PASS1 (CAR Z) N)))
              (COND ((NULL (CDR Z)) NIL)
                    (T (COND ((NULL (CDDR Z)) (PASS1 (CADR Z) N)) (T (SELF (CDR Z) N)))))))) 
P1P)

(DEFPROP DIFFERENCE 
1 
P0P)

(DEFPROP DIFFERENCE 
(LABEL SELF
       (LAMBDA(Z N)
        (LIST (QUOTE INFIX)
              (QUOTE /-)
              (COND ((NULL (CAR Z)) NIL) (T (PASS1 (CAR Z) N)))
              (COND ((NULL (CDR Z)) NIL)
                    (T (COND ((NULL (CDDR Z)) (PASS1 (CADR Z) N)) (T (SELF (CDR Z) N)))))))) 
P1P)

(DEFPROP MINUS 
1 
P0P)

(DEFPROP QUOTIENT 
2 
P0P)

(DEFPROP QUOTIENT 
(LABEL SELF
       (LAMBDA(Z N)
        (LIST (QUOTE INFIX)
              (QUOTE //)
              (COND ((NULL (CAR Z)) NIL) (T (PASS1 (CAR Z) N)))
              (COND ((NULL (CDR Z)) NIL)
                    (T (COND ((NULL (CDDR Z)) (PASS1 (CADR Z) N)) (T (SELF (CDR Z) N)))))))) 
P1P)

(DEFPROP TIMES 
2 
P0P)

(DEFPROP TIMES 
(LABEL SELF
       (LAMBDA(Z N)
        (LIST (QUOTE INFIX)
              (QUOTE *)
              (COND ((NULL (CAR Z)) NIL) (T (PASS1 (CAR Z) N)))
              (COND ((NULL (CDR Z)) NIL)
                    (T (COND ((NULL (CDDR Z)) (PASS1 (CADR Z) N)) (T (SELF (CDR Z) N)))))))) 
P1P)

(DEFPROP COMMA 
2 
P0P)

(DEFPROP COMMA 
(LABEL SELF
       (LAMBDA(Z N)
        (LIST (QUOTE INFIX)
              (QUOTE /,)
              (COND ((NULL (CAR Z)) NIL) (T (PASS1 (CAR Z) N)))
              (COND ((NULL (CDR Z)) NIL)
                    (T (COND ((NULL (CDDR Z)) (PASS1 (CADR Z) N)) (T (SELF (CDR Z) N)))))))) 
P1P)

(DEFPROP RECIP 
2 
P0P)

(DEFPROP DIV 
3 
P0P)

(DEFPROP GRAD 
3 
P0P)

(DEFPROP CURL 
3 
P0P)

(DEFPROP DRVTV 
4 
P0P)

(DEFPROP PDRVTV 
4 
P0P)

(DEFPROP PP1FNS 
(NIL (INTGRL NRT SUMAT PAREN BRAKET BRACE ABS FEQU FGR FGE FLS FLE FNEQ DIVIDE TEXT TITLE MTRX SS INFIX)
     (PLUS DIFFERENCE MINUS)
     (QUOTIENT TIMES COMMA RECIP)
     (DIV GRAD CURL)
     (DRVTV PDRVTV)) 
VALUE)

(DEFPROP P1FNS 
(NIL INTGRL
     NRT
     SUMAT
     PAREN
     BRAKET
     BRACE
     ABS
     FEQU
     FGR
     FGE
     FLS
     FLE
     FNEQ
     DIVIDE
     TEXT
     TITLE
     MTRX
     SS
     INFIX
     PLUS
     DIFFERENCE
     MINUS
     QUOTIENT
     TIMES
     COMMA
     RECIP
     DIV
     GRAD
     CURL
     DRVTV
     PDRVTV) 
VALUE)

(DEFPROP DP0P 
(LAMBDA(Z N)
 (COND ((NULL Z) NIL)
       ((ATOM Z) (PUTPROP Z N (QUOTE P0P)))
       ((ATOM (CAR Z)) (PROG2 (DP0P (CAR Z) N) (DP0P (CDR Z) N)))
       (T (PROG2 (DP0P (CAR Z) N) (DP0P (CDR Z) (ADD1 N)))))) 
EXPR)

(DEFPROP PASSP 
(LAMBDA (Z SIZ) (PROG2 (OUTPUT LPT:) (OUTC T T) (PASS3 (PASS2 (PASS1 Z 0) SIZ)) (OUTC NIL T))) 
EXPR)

(DEFPROP PASS3 
(LAMBDA(Z)
 (PROG2 (PRINK (LIST (QUOTE #0##-) (CAR Z) (QUOTE #) (ASCII 32)))
        (PASS3C (CDDR Z))
        (PRINK (LIST (QUOTE #0##-) (CADR Z) (QUOTE #) (ASCII 32))))) 
EXPR)

(DEFPROP PASS3A 
(LAMBDA(Z)
 (COND ((NULL Z) NIL)
       ((ATOM Z) NIL)
       ((ATOM (CAR Z)) NIL)
       (T
        (PROG2 (PRINK
                (LIST (QUOTE #)
                      (CAR (CDDDAR Z))
                      (QUOTE #)
                      (ASCII 24)
                      (QUOTE #)
                      (CADAR Z)
                      (QUOTE ##)
                      (CADDAR Z)
                      (QUOTE #)
                      (ASCII 32)))
               (PASS3C (CDR Z))
               (COND ((ZEROP (CAAR Z)) NIL)
                     (T
                      (PRINK
                       (LIST (QUOTE #)
                             (MINUS (PLUS (CAAR Z) (CADAR Z)))
                             (QUOTE ##)
                             (MINUS (CADDAR Z))
                             (QUOTE #)
                             (ASCII 32))))))))) 
EXPR)

(DEFPROP PASS3B 
(LAMBDA(Z)
 (COND ((NULL Z) NIL)
       ((ATOM Z) NIL)
       ((ATOM (CAR Z)) NIL)
       (T
        (PROG2 (PRINK
                (LIST (QUOTE #)
                      (CADAR Z)
                      (QUOTE ##)
                      (CADDAR Z)
                      (QUOTE #)
                      (COND ((ZEROP (CAAR Z)) (ASCII 32)) (T (ASCII 31)))))
               (PASS3B (CDR Z)))))) 
EXPR)

(DEFPROP PASS3C 
(LAMBDA(Z)
 (COND ((NULL Z) NIL)
       (T
        (COND ((ATOM (CAR Z))
               (COND ((EQ (CAR Z) (QUOTE VECT))
                      (COND ((NULL (CDR Z)) NIL) (T (PROG2 (PASS3B (CADR Z)) (PASS3C (CDDR Z))))))
                     (T (PROG2 (PRINK (CAR Z)) (PASS3C (CDR Z))))))
              (T
               (PROG2 (COND ((NUMBERP (CAAR Z)) (PASS3A (LIST (CAR Z))))
                            ((ATOM (CAAR Z)) (PASS3C (CAR Z)))
                            ((NUMBERP (CAAAR Z))
                             (COND ((NUMBERP (CAAR Z)) (PASS3A (LIST (CAAR Z))))
                                   ((NUMBERP (CAAAR Z)) (PASS3A (CAR Z)))
                                   (T (PASS3C (CAR Z)))))
                            (T (PASS3C (CAR Z))))
                      (PASS3C (CDR Z)))))))) 
EXPR)

(DEFPROP PRINK 
(LAMBDA (Z) (COND ((NULL Z) NIL) ((ATOM Z) (PROG2 (PRINC Z) NIL)) (T (PROG2 (PRINC (CAR Z)) (PRINK (CDR Z)))))) 
EXPR)

(DEFPROP PASS2 
(LAMBDA (Z SIZ) (LIST (U Z SIZ) (D Z SIZ) (CONS (SYORG Z SIZ) (S Z SIZ)))) 
EXPR)

(DEFPROP U 
(LAMBDA (Z SIZ) (COND ((NULL Z) 0) ((ATOM Z) (TIMES 4 SIZ)) (T ((GET (CAR Z) (QUOTE UI)) Z SIZ)))) 
EXPR)

(DEFPROP D 
(LAMBDA (Z SIZ) (COND ((NULL Z) 0) ((ATOM Z) (TIMES 4 SIZ)) (T ((GET (CAR Z) (QUOTE DI)) Z SIZ)))) 
EXPR)

(DEFPROP S 
(LAMBDA(Z SIZ)
 (COND ((NULL Z) NIL)
       ((ATOM Z) (APPEND (LIST (LIST 0 0 (MINUS (D Z SIZ)) SIZ)) (EXPLODEC Z) (LIST (LIST 0 0 (D Z SIZ) SIZ))))
       (T ((GET (CAR Z) (QUOTE SI)) Z SIZ)))) 
EXPR)

(DEFPROP L 
(LAMBDA(Z SIZ)
 (COND ((NULL Z) 0) ((ATOM Z) (TIMES 10 SIZ (LENGTH (EXPLODEC Z)))) (T ((GET (CAR Z) (QUOTE LI)) Z SIZ)))) 
EXPR)

(DEFPROP L 
(NIL (GRINDEF W2)) 
VALUE)

(DEFPROP SYORG 
(LAMBDA (Z SIZ) (LIST (L Z SIZ) 0 0 SIZ)) 
EXPR)

(DEFPROP MAXM 
(LAMBDA (Z) (COND ((NULL Z) 0) ((GREATERP (CAR Z) (MAXM (CDR Z))) (CAR Z)) (T (MAXM (CDR Z))))) 
EXPR)

(DEFPROP PASS1 
(LAMBDA(Z N)
 (COND ((NULL Z) NIL)
       ((ATOM Z) Z)
       ((NOT (ATOM (CAR Z))) NIL)
       (T
        (PROG2 (SETQ TEMP (GET (CAR Z) (QUOTE P0P)))
               (COND ((NULL TEMP) (UIF Z))
                     (T
                      (COND ((AND (GREATERP N TEMP) (NOT (ZEROP TEMP)))
                             (LIST (QUOTE INFIX) (PASS1 Z 0) (ASCII 50) (ASCII 51)))
                            (T ((GET (CAR Z) (QUOTE P1P)) (CDR Z) TEMP))))))))) 
EXPR)

(DEFPROP TWICE 
(LAMBDA (Z) (TIMES 2 Z)) 
EXPR)

(DEFPROP CAD5R 
(LAMBDA (Z) (CADR (CDDDDR Z))) 
EXPR)

(DEFPROP CAD4R 
(LAMBDA (Z) (CAR (CDDDDR Z))) 
EXPR)

(DEFPROP K1D4 
(LAMBDA (Z) (QUOTIENT Z 4)) 
EXPR)

(DEFPROP HALF 
(LAMBDA (Z) (QUOTIENT Z 2)) 
EXPR)

(DEFPROP K2D3 
(LAMBDA (Z) (QUOTIENT (TIMES 2 Z) 3)) 
EXPR)

(DEFPROP K3D4 
(LAMBDA (Z) (QUOTIENT (TIMES 3 Z) 4)) 
EXPR)

(DEFPROP SCAL2 
(LAMBDA (X Z) (SCALE X X Z)) 
EXPR)

(DEFPROP SCALE 
(LAMBDA(X Y Z)
 (COND ((NULL Z) NIL) (T (CONS (LIST (CAAR Z) (TIMES X (CADAR Z)) (TIMES Y (CADDAR Z))) (SCALE X Y (CDR Z)))))) 
EXPR)

(DEFPROP PASS 
(LAMBDA (Z SIZ) (PROG2 (OUTPUT DSK: INP4) (OUTC T T) (PASS3 (PASS2 (PASS1 Z 0) SIZ)) (OUTC NIL T))) 
EXPR)

(DEFPROP OFF 
(LAMBDA NIL (OUTC NIL T)) 
EXPR)